The preferred embodiments of the present invention relate generally to improvements in information technology. More particularly, the preferred embodiments relate to management of event-based messaging workflows. More particularly still, the preferred embodiments relate to a method and related system for defining, monitoring and modifying a workflow using a graphical user interface.
Many large companies have several different organizations each performing their own unique business functions. A particular business organization may handle incoming orders from customers, while another organization may manage shipping merchandise to customers. It is not uncommon for each organization to have a multitude of computer systems and platforms, these systems of one organization varying greatly from the systems of another organization. Further, these systems and associated software packages may be either commercially available or proprietary. Unfortunately, these organizations often have redundant systems and applications that significantly increase the cost of doing business.
As businesses tend to thrive on efficient operations and rapid execution, delays in communicating information between one organization and another may have an adverse effect on customer satisfaction and profits. Existing, or “legacy,” systems often operate on various hardware platforms and in various programming languages. To communicate information between one system and another, the two systems must somehow interface, so that any dissimilarity is resolved, allowing them to transfer information accurately and efficiently.
Integrating business applications running on varied systems is a multi-dimensional problem that requires an understanding of software interfaces, information formats, network transmission models, data transformation, security, connectivity and system administration details. Integrating multiple systems into a streamlined, efficient workflow involves communicating various business tasks between the appropriate systems while also reducing errors and redundant efforts. Integration difficulties are often magnified when a company becomes involved in a merger or acquisition or undergoes an internal reorganization. The combined business enterprise may have both duplicate and discrete systems that must be integrated. This problem can be addressed with “event-based messaging,” a technology which is easy for employees to use and easy for developers to program, and also allows virtually seamless communications between dissimilar systems and applications.
Workflow management, which relates to the automation of business tasks, or processes, is an emerging technology closely associated with corporate streamlining activities. Fundamentally, it is an information technology model for reducing business costs, improving operation efficiency, and facilitating an adaptive business organization. Business processes (e.g. order processing, product delivery scheduling) are generally defined in such a way that they can be directly interpreted and executed by a workflow manager, which can take the form of one or more central servers. A major inhibitor to the development of workflow is understanding the mechanisms, interactions and inter-relationships of these tasks, as even small business may develop hundreds of such tasks as a workflow matures.
Generally, a central workflow manager acts as a central clearinghouse to coordinate messages between numerous individual systems. The workflow manager is linked with each system by one or more “channels,” which are communications pathways for delivering queued event-based messages between the workflow manager and peripheral systems, as well as between different processes within the workflow manager. Typically, the workflow manager will place an event into a channel, where the event will remain until it is retrieved by the target system. The event may have a set expiration period, so that it will not be enacted if not retrieved by a certain deadline, or may alternately be a guaranteed-delivery event, which will not expire.
After retrieving and acting on an event, a system may insert another event designated for the workflow manager into a return channel. Once the event is retrieved by the workflow manager, the workflow manager may recognize that a certain task has been performed. The workflow manager will then address the next task in the workflow by placing a subsequent event into a channel designated for the next targeted system. Events may pass to or from the workflow manager, depending on the system for which they are targeted. Essentially, the workflow manager follows a set procedure for notifying various systems of tasks to be performed, receiving confirmation that the events reached their destinations and following up with subsequent tasks.
Conventional workflow models do not allow straightforward monitoring or modification of an active workflow. In the case of a system fault, it may be necessary to edit the information in an event, in order to send a different message to the targeted system. Additionally, it may be necessary to insert an entirely new event into the workflow sequence, to counter the unexpected fault. Moreover, in a case where there is no error or fault, it may simply be desired to modify the workflow to address a recently discovered business need. In order to anticipate such a need, it is also necessary to be able to monitor progress of the workflow. It is therefore desired to develop a graphical interface method and related system for defining, monitoring, testing and modifying a workflow model.